/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Application;

/**
 * Application pour calculer l'orientation du canon selon la position de la souris.
 * @author Laurent/Pascal
 */
public class Deplacement
{

    /**
     * Constructeur de l'application.
     */
    public Deplacement()
    {
    }

    /**
     * Calcule la position du bout du canon selon l'emplacement du curseur.
     * @param sourisX Position en x de la souris.
     * @param sourisY Position en y de la souris.
     * @param longeurCanon Longeur du canon.
     * @return Tableau contenant les positions en x et en y de l'embout du canon.
     */
    public double[] bougerCanon(double sourisX, double sourisY, int longeurCanon)
    {   
        double sourisDoubleX = sourisX;
        double sourisDoubleY = sourisY;
        double[] positionsXY = new double[2];
        double X, Y;
        double angle;
        
        try{
        angle = Math.atan(sourisDoubleY / sourisDoubleX);
            
            if(angle>0) {
                angle=Math.PI-angle;
            }
        X = longeurCanon * Math.cos(angle);
        Y = Math.abs(longeurCanon * Math.sin(angle));
        

        positionsXY[0] = X;
        positionsXY[1] = Y;}
        catch(java.lang.ArithmeticException ar){
        X = 0;
        Y = longeurCanon;
      
        }

        return positionsXY;
    }
}
